perm filename ANS[P,JRA] blob sn#158069 filedate 1975-05-07 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	1.  (B)				10. 1
C00007 ENDMK
C⊗;
1.  (B)				10. 1
2.  (CAR (QUOTE A))		11. T
3.  (A B)			12. A
4.  undefined: eq is		13. undefined: eq again
     defined only on		14. false: computation on
     atoms.			     y may be undefined 
5.  (A B C)			15. true
6.  (A())			16. eq is partial
7.  (A B C)			17.T
8.  (A B C 1 2 3)
9.  undefined: A not list.

18. an evaluation  scheme in which the  arguments to a  function call are to  be evaluated
before being applied to the function. 

19.  the process of translating  constructs (P1) in  one language into  constructs (P2) in
another language such that the  execution of P1 and the  execution of P2 produce the  same
value  (under appropriate  interpretation).   e.g.  eval [P1]  ≡  execute[P2], where  P2  =
compile[P1], and ≡ involves interpreting the final state of eval and execute. 

20. Given an atom(symbol , identifier, ...) the hashing function will tell which partition
of the symbol table  we should examine to locate  that atom. Hashing is a  fast, efficient
way to search  and store in symbol tables. The hashing function  should be fast and should
result in an even distribution between the partitions (or buckets). When two atoms hash to
the same bucket,  this is called collision.   Collisions can be resolved  by hashing again
(with a different scheme obviously), linear search, etc... 

21. stack is a data structure: an object with constructors, selectors, recoginzers,..  Its
characteristics are such that  we may only  access the last element  placed in the  stack.
Typical implementation is ... . Typical application is to support recursion.  The name has
been  much misused; things  which aren't really  stacks, like spaghetti  stacks have taken
over the name. 

22.the access environment refers to the chain of symbol tables which are accessible during
the evaluation  of an expression.  variable lookup procedes  from the local  table, up the
access chain. 

23. a  binary tree  is a  graph structure  such  that at  any node  there are  either  two
branches(leading away)  or no  branches( terminal nodes).   To  be a  tree, we require  no
intersections in the graph. 

24. a  function is total over a specified domain, when  it is defined for every element of
that domain. Thus over the domain of s-expressions, atom is total, but eq is not. 

25. a property list is a symbol-table entry in LISP. It is a list of attributes and values
associated with each atom. 

26. The sweep-phase goes (linearly) through  memory, collecting all the unmarked cells and
builds a new available space list. 

27.  The mark-phase traverses  all the active  list-structure, marking each  cell which it
visits. 

28.-33. deep, linear, control, shallow, VALUE, uniquely

34.-39.   constructors,  selectors,   recognizers,   λ-calculus,  recursive,   termination
condition. 

40.-47.  full word space, free  space, dotted pairs,  (singly)linked-lists, pointer, cons,
free space list, garbage collector. 

48.-50. interpreter, Threetran, bootstrapping.